// Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'dart:async';

Future<int> foo<X extends Object?>(X x) async {
  if (x is Future<int>) {
    return x;
  } else {
    throw 42;
  }
}

main() {}
